package com.rayboot.footpoint.kml;

import java.io.InputStream;
import java.text.SimpleDateFormat;

import com.rayboot.footpoint.model.Footprint;

public class KMLUtil {
	private static final String TAG = "KMLUtil";
	private static final String TAG_ADDRESS = "address";
	private static final String TAG_COORDINATES = "coordinates";
	private static final String TAG_DESCRIPTION = "description";
	private static final String TAG_Data = "Data";
	private static final String TAG_NAME = "name";
	private static final String TAG_PHONENUMBER = "phoneNumber";
	private static final String TAG_PLACEMARK = "Placemark";
	private static final String TAG_TimeStamp = "TimeStamp";
	private static final String TAG_VALUE = "value";
	private static final String TAG_WHEN = "when";
	private static OnProgressListener mListener;
	private static SimpleDateFormat timeFormat = new SimpleDateFormat(
			"yyyy-MM-dd'T'hh:mm:ss'Z'");

	// public static KMLDocument convertKML(Footprint[] paramArrayOfFootprint)
	// {
	// KMLDocument localKMLDocument = new KMLDocument();
	// ArrayList localArrayList = new ArrayList(paramArrayOfFootprint.length);
	// int i = paramArrayOfFootprint.length;
	// int j = 0;
	// if (j < i)
	// {
	// Footprint localFootprint = paramArrayOfFootprint[j];
	// KMLPlacemark localKMLPlacemark = new KMLPlacemark();
	// localKMLPlacemark.name = localFootprint.mName;
	// localKMLPlacemark.address = localFootprint.mAddr;
	// localKMLPlacemark.when = localFootprint.mCreateTime;
	// localKMLPlacemark.phoneNumber = localFootprint.mTel;
	// localKMLPlacemark.latitudeE6 = localFootprint.mLatitude;
	// localKMLPlacemark.longitudeE6 = localFootprint.mLongitude;
	// localKMLPlacemark.setTextDescription(localFootprint.mComment);
	// localKMLPlacemark.setExtendData("create_time",
	// String.valueOf(localFootprint.mCreateTime));
	// localKMLPlacemark.setExtendData("footprintid",
	// FootprintUtils.generateMD5(String.valueOf(localKMLPlacemark.when)));
	// if (localFootprint.mComment != null)
	// localKMLPlacemark.setExtendData("comment", localFootprint.mComment);
	// while (true)
	// {
	// localKMLPlacemark.setExtendData("accuracy",
	// String.valueOf(localFootprint.mAccuracy));
	// localKMLPlacemark.setExtendData("version",
	// String.valueOf(localFootprint.mVersion));
	// if (localFootprint.mAudioFileName != null)
	// localKMLPlacemark.setExtendData("audio", localFootprint.mAudioFileName);
	// localKMLPlacemark.setExtendData("rate",
	// String.valueOf(localFootprint.mRate));
	// if (localFootprint.mSite != null)
	// localKMLPlacemark.setExtendData("website", localFootprint.mSite);
	// if (localFootprint.mCategory != null)
	// localKMLPlacemark.setExtendData("category", localFootprint.mCategory);
	// if (localFootprint.mPicFileName != null)
	// localKMLPlacemark.setExtendData("image", localFootprint.mPicFileName);
	// localArrayList.add(localKMLPlacemark);
	// j++;
	// break;
	// localKMLPlacemark.setExtendData("comment", "");
	// }
	// }
	// localKMLDocument.placemarksList = localArrayList;
	// return localKMLDocument;
	// }

	// public static void exportKMZ(Footprint[] paramArrayOfFootprint,
	// OutputStream paramOutputStream)
	// {
	// HashSet localHashSet1 = new HashSet();
	// HashSet localHashSet2 = new HashSet();
	// int i = paramArrayOfFootprint.length;
	// for (int j = 0; j < i; j++)
	// {
	// Footprint localFootprint = paramArrayOfFootprint[j];
	// if ((localFootprint.mPicPath != null) &&
	// (!localFootprint.mPicPath.equals("")))
	// localHashSet1.add(new File(localFootprint.mPicPath));
	// if ((localFootprint.mAudioPath == null) ||
	// (localFootprint.mAudioPath.equals("")))
	// continue;
	// localHashSet2.add(new File(localFootprint.mAudioPath));
	// }
	// File[] arrayOfFile1 = (File[])localHashSet1.toArray(new
	// File[localHashSet1.size()]);
	// File[] arrayOfFile2 = (File[])localHashSet2.toArray(new
	// File[localHashSet2.size()]);
	// if (mListener != null)
	// mListener.onProgress(10);
	// writeToKMZ(convertKML(paramArrayOfFootprint), paramOutputStream,
	// arrayOfFile1, arrayOfFile2);
	// if (mListener != null)
	// mListener.onEnd();
	// }
	//
	// public static String getDirectory()
	// {
	// return FootprintImageManager.getExternalStorageDirectory() +
	// File.separator + "footprint_export_files";
	// }
	//
	// public static String getOuputFile(String paramString)
	// {
	// return FootprintImageManager.getExternalStorageDirectory() +
	// File.separator + "footprint_export_files" + File.separator + paramString
	// + ".kmz";
	// }
	//
	// public static Footprint[] parseKML(Reader paramReader)
	// throws XmlPullParserException, IOException
	// {
	// ArrayList localArrayList = new ArrayList();
	// XmlPullParser localXmlPullParser =
	// XmlPullParserFactory.newInstance().newPullParser();
	// localXmlPullParser.setInput(paramReader);
	// int i = 0;
	// boolean bool1 = false;
	// boolean bool2 = false;
	// boolean bool3 = false;
	// boolean bool4 = false;
	// boolean bool5 = false;
	// int j = 0;
	// boolean bool6 = false;
	// boolean bool7 = false;
	// boolean bool8 = false;
	// int k = localXmlPullParser.getEventType();
	// Footprint localFootprint = null;
	// String str1 = null;
	// if (k == 0);
	// do
	// {
	// k = localXmlPullParser.next();
	// if (k != 1)
	// break;
	// return (Footprint[])localArrayList.toArray(new
	// Footprint[localArrayList.size()]);
	// }
	// while (k == 1);
	// String str12;
	// int i4;
	// int i5;
	// boolean bool9;
	// boolean bool10;
	// boolean bool11;
	// boolean bool12;
	// boolean bool13;
	// boolean bool14;
	// boolean bool15;
	// boolean bool16;
	// if (k == 2)
	// {
	// str12 = localXmlPullParser.getName();
	// if (str12.equals("Placemark"))
	// {
	// i4 = 1;
	// localFootprint = new Footprint();
	// localArrayList.add(localFootprint);
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// }
	// }
	// while (true)
	// {
	// bool4 = bool16;
	// bool1 = bool15;
	// bool3 = bool14;
	// bool7 = bool13;
	// bool8 = bool12;
	// bool6 = bool11;
	// bool5 = bool10;
	// bool2 = bool9;
	// j = i5;
	// i = i4;
	// break;
	// if ((str12.equals("name")) && (i != 0))
	// {
	// str1 = "name";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("description")) && (i != 0))
	// {
	// str1 = "description";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("coordinates")) && (i != 0))
	// {
	// str1 = "coordinates";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("address")) && (i != 0))
	// {
	// str1 = "address";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("phoneNumber")) && (i != 0))
	// {
	// str1 = "phoneNumber";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("TimeStamp")) && (i != 0))
	// {
	// str1 = "TimeStamp";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// if ((str12.equals("when")) && (i != 0))
	// {
	// if (str1 == "TimeStamp")
	// {
	// str1 = "when";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// }
	// }
	// else
	// {
	// if ((str12.equals("Data")) && (i != 0))
	// {
	// bool15 = localXmlPullParser.getAttributeValue(0).equals("rate");
	// bool9 = localXmlPullParser.getAttributeValue(0).equals("audio");
	// bool14 = localXmlPullParser.getAttributeValue(0).equals("image");
	// bool16 = localXmlPullParser.getAttributeValue(0).equals("website");
	// bool11 = localXmlPullParser.getAttributeValue(0).equals("comment");
	// bool10 = localXmlPullParser.getAttributeValue(0).equals("category");
	// boolean bool17 =
	// localXmlPullParser.getAttributeValue(0).equals("accuracy");
	// bool12 = localXmlPullParser.getAttributeValue(0).equals("create_time");
	// bool13 = localXmlPullParser.getAttributeValue(0).equals("create_time");
	// i4 = i;
	// i5 = bool17;
	// continue;
	// }
	// if (!str12.equals("value"))
	// break label1428;
	// if (i != 0)
	// {
	// str1 = "value";
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// if (k == 3)
	// {
	// if (localXmlPullParser.getName().equals("Placemark"));
	// for (int i3 = 0; ; i3 = i)
	// {
	// i = i3;
	// break;
	// str1 = null;
	// }
	// }
	// if (k != 4)
	// break;
	// if (str1 == "name")
	// {
	// String str11 = localXmlPullParser.getText();
	// localFootprint.mName = str11;
	// break;
	// }
	// if (str1 == "description")
	// break;
	// if (str1 == "coordinates")
	// {
	// int i1 = (int)(1000000.0D *
	// Double.valueOf(localXmlPullParser.getText().split(",")[0]).doubleValue());
	// localFootprint.mLongitude = i1;
	// int i2 = (int)(1000000.0D *
	// Double.valueOf(localXmlPullParser.getText().split(",")[1]).doubleValue());
	// localFootprint.mLatitude = i2;
	// break;
	// }
	// if (str1 == "address")
	// {
	// String str10 = localXmlPullParser.getText();
	// localFootprint.mAddr = str10;
	// break;
	// }
	// if (str1 == "phoneNumber")
	// {
	// String str9 = localXmlPullParser.getText();
	// localFootprint.mTel = str9;
	// break;
	// }
	// if ((str1 == "when") || (str1 != "value"))
	// break;
	// if (bool1)
	// {
	// int n = Integer.parseInt(localXmlPullParser.getText());
	// localFootprint.mRate = n;
	// break;
	// }
	// if (bool2)
	// {
	// String str7 = localXmlPullParser.getText();
	// localFootprint.mAudioFileName = str7;
	// if (localFootprint.mAudioFileName.equals(""))
	// break;
	// String str8 = FootprintVoiceManager.getDirectory() + File.separator +
	// localFootprint.mAudioFileName;
	// localFootprint.mAudioPath = str8;
	// break;
	// }
	// if (bool3)
	// {
	// String str5 = localXmlPullParser.getText();
	// localFootprint.mPicFileName = str5;
	// if (localFootprint.mPicFileName.equals(""))
	// break;
	// String str6 = FootprintImageManager.getDirectory() + File.separator +
	// localFootprint.mPicFileName;
	// localFootprint.mPicPath = str6;
	// break;
	// }
	// if (bool4)
	// {
	// String str4 = localXmlPullParser.getText();
	// localFootprint.mSite = str4;
	// break;
	// }
	// if (bool6)
	// {
	// String str3 = localXmlPullParser.getText();
	// localFootprint.mComment = str3;
	// break;
	// }
	// if (bool5)
	// {
	// String str2 = localXmlPullParser.getText();
	// localFootprint.mCategory = str2;
	// break;
	// }
	// if (j != 0)
	// {
	// int m = Integer.parseInt(localXmlPullParser.getText());
	// localFootprint.mAccuracy = m;
	// break;
	// }
	// if (bool8)
	// {
	// long l = Long.parseLong(localXmlPullParser.getText());
	// localFootprint.mCreateTime = l;
	// break;
	// }
	// if (!bool7)
	// break;
	// break;
	// }
	// }
	// i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// continue;
	// label1428: i4 = i;
	// i5 = j;
	// bool9 = bool2;
	// bool10 = bool5;
	// bool11 = bool6;
	// bool12 = bool8;
	// bool13 = bool7;
	// bool14 = bool3;
	// bool15 = bool1;
	// bool16 = bool4;
	// }
	// }

	public static void setProgressListener(
			OnProgressListener paramOnProgressListener) {
		mListener = paramOnProgressListener;
	}

	public static abstract interface OnProgressListener {
		public abstract void onEnd();

		public abstract void onProgress(int paramInt);
	}

	public static Footprint[] importKMZ(InputStream paramInputStream) {
		return null;
	}
}
